#!/bin/bash

# MCP动态工具选择功能测试脚本
# 确保应用已启动在 http://localhost:8080

BASE_URL="http://localhost:8080"

echo "======================================"
echo "MCP 动态工具选择功能测试"
echo "======================================"
echo ""

# 颜色输出
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

echo -e "${BLUE}1. 查看所有MCP服务器${NC}"
echo "curl \"${BASE_URL}/api/v1/mcp/servers\""
curl -s "${BASE_URL}/api/v1/mcp/servers" | jq
echo ""
echo "按Enter继续..."
read

echo -e "${BLUE}2. 查看所有MCP工具${NC}"
echo "curl \"${BASE_URL}/api/v1/mcp/tools\""
curl -s "${BASE_URL}/api/v1/mcp/tools" | jq '.totalServers, .totalTools'
echo ""
echo "按Enter继续..."
read

echo -e "${BLUE}3. 按服务器筛选工具 (只看filesystem)${NC}"
echo "curl \"${BASE_URL}/api/v1/mcp/tools/filter?servers=filesystem\""
curl -s "${BASE_URL}/api/v1/mcp/tools/filter?servers=filesystem" | jq
echo ""
echo "按Enter继续..."
read

echo -e "${BLUE}4. 查看场景信息${NC}"
echo "curl \"${BASE_URL}/api/v1/scenario/info\""
curl -s "${BASE_URL}/api/v1/scenario/info" | jq
echo ""
echo "按Enter继续..."
read

echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN}场景对话测试${NC}"
echo -e "${GREEN}========================================${NC}"
echo ""

echo -e "${YELLOW}5. 文件管理场景测试${NC}"
echo "curl \"${BASE_URL}/api/v1/scenario/file?query=你可以使用哪些工具？\""
curl -s "${BASE_URL}/api/v1/scenario/file?query=你可以使用哪些工具？"
echo ""
echo ""
echo "按Enter继续..."
read

echo -e "${YELLOW}6. 网络访问场景测试${NC}"
echo "curl \"${BASE_URL}/api/v1/scenario/web?query=你可以访问网络吗？\""
curl -s "${BASE_URL}/api/v1/scenario/web?query=你可以访问网络吗？"
echo ""
echo ""
echo "按Enter继续..."
read

echo -e "${YELLOW}7. 数据分析场景测试${NC}"
echo "curl \"${BASE_URL}/api/v1/scenario/data?query=你可以处理Excel文件吗？\""
curl -s "${BASE_URL}/api/v1/scenario/data?query=你可以处理Excel文件吗？"
echo ""
echo ""
echo "按Enter继续..."
read

echo -e "${YELLOW}8. 管理员角色测试${NC}"
echo "curl \"${BASE_URL}/api/v1/scenario/role?role=admin&query=列出你可以使用的所有工具\""
curl -s "${BASE_URL}/api/v1/scenario/role?role=admin&query=列出你可以使用的所有工具"
echo ""
echo ""
echo "按Enter继续..."
read

echo -e "${YELLOW}9. 开发者角色测试${NC}"
echo "curl \"${BASE_URL}/api/v1/scenario/role?role=developer&query=你有什么权限？\""
curl -s "${BASE_URL}/api/v1/scenario/role?role=developer&query=你有什么权限？"
echo ""
echo ""
echo "按Enter继续..."
read

echo -e "${YELLOW}10. 只读角色测试${NC}"
echo "curl \"${BASE_URL}/api/v1/scenario/role?role=readonly&query=你能做什么？\""
curl -s "${BASE_URL}/api/v1/scenario/role?role=readonly&query=你能做什么？"
echo ""
echo ""
echo "按Enter继续..."
read

echo -e "${YELLOW}11. 自定义场景测试（filesystem + fetch）${NC}"
echo "curl \"${BASE_URL}/api/v1/scenario/custom?servers=filesystem,fetch&query=你可以使用哪些工具？\""
curl -s "${BASE_URL}/api/v1/scenario/custom?servers=filesystem,fetch&query=你可以使用哪些工具？"
echo ""
echo ""

echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN}测试完成！${NC}"
echo -e "${GREEN}========================================${NC}"
echo ""
echo "提示："
echo "1. 查看应用日志可以看到工具选择的详细信息"
echo "2. 可以通过修改 query 参数测试不同的问题"
echo "3. 可以修改 role 参数测试不同角色的权限"

